package org.example.queue;

import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.PriorityQueue;
class IntCmp implements Comparator<Integer>{

    @Override
    public int compare(Integer o1, Integer o2) {
        return o2-o1;
    }
}
public class TestPriorityQueue {
    public static void main(String[] args) {
       PriorityQueue<Integer> q1=new PriorityQueue<>(new IntCmp());
       q1.offer(5);
       q1.offer(2);
       q1.offer(4);
       q1.offer(3);
       q1.offer(1);
       while (!q1.isEmpty()){
           System.out.println(q1.poll());
       }
    }
//    static void TestPriorityQueue(){
//        // 创建⼀个空的优先级队列，底层默认容量是11
//        PriorityQueue<Integer> q1=new PriorityQueue<>();
//        // 创建⼀个空的优先级队列，底层的容量为initialCapacity
//        PriorityQueue<Integer> q2 = new PriorityQueue<>(100);
//        //尾插
//        ArrayList<Integer> list = new ArrayList<>();
//        list.add(4);
//        list.add(3);
//        list.add(2);
//        list.add(1);
//        // ⽤ArrayList对象来构造⼀个优先级队列的对象
//        // q3中已经包含了三个元素
//        PriorityQueue<Integer> q3 = new PriorityQueue<>(list);
//        System.out.println(q3.size());
//        System.out.println(q3.peek());
//    }
}
